Skip to content

build!: require .NET 8 or later#350

Merged
thomhurst merged 1 commit into
mainfrom
issue-334-net8-minimum
Jul 21, 2026
Merged

build!: require .NET 8 or later#350
thomhurst merged 1 commit into
mainfrom
issue-334-net8-minimum

Conversation

@thomhurst

Copy link
Copy Markdown
Owner

Summary

  • Retarget the library and test suite to net8.0;net9.0;net10.0.
  • Remove the netstandard-only TaskCompletionSource shim, Microsoft.Bcl.AsyncInterfaces, and Polyfill.
  • Collapse always-true NET6/NET8 conditional branches and wrappers; retain the NET9 completion-order split needed by net8.
  • Document .NET 8 as the v4 minimum and list all tested TFMs.

Breaking change

v4 no longer supports net6.0 or netstandard2.0. Consumers must target .NET 8 or later.

Test plan

  • dotnet restore TomLonghurst.EnumerableAsyncProcessor.sln --force-evaluate
  • dotnet build TomLonghurst.EnumerableAsyncProcessor.sln -c Release --no-restore
  • dotnet test TomLonghurst.EnumerableAsyncProcessor.sln -c Release --no-build (1,611 passed across net8.0, net9.0, net10.0)
  • Package graph contains neither Polyfill nor Microsoft.Bcl.AsyncInterfaces
  • Static search finds no removed TFM symbols/references; only the intentional NET9 conditional remains

Closes #334

@greptile-apps

greptile-apps Bot commented Jul 21, 2026

Copy link
Copy Markdown

Greptile Summary

This PR raises the minimum supported runtime to .NET 8. The main changes are:

  • Targets the library and tests at .NET 8, 9, and 10.
  • Removes netstandard compatibility dependencies and conditional fallbacks.
  • Enables async-enumerable examples and tests unconditionally.
  • Documents the new supported frameworks.

Confidence Score: 5/5

This looks safe to merge.

  • No qualifying blocking issues were found in the updated code.

Important Files Changed

Filename Overview
EnumerableAsyncProcessor/EnumerableAsyncProcessor.csproj Retargets the package to .NET 8, 9, and 10 and removes compatibility dependencies.
EnumerableAsyncProcessor/TaskCompletionSource.cs Removes the netstandard-only task completion shim.
EnumerableAsyncProcessor/Validation/ValidationHelper.cs Uses modern validation APIs directly on all supported targets.
EnumerableAsyncProcessor.UnitTests/EnumerableAsyncProcessor.UnitTests.csproj Runs the test suite against .NET 8, 9, and 10.

Reviews (2): Last reviewed commit: "build!: require .NET 8 or later" | Re-trigger Greptile

Drop net6.0 and netstandard2.0 compatibility shims and packages now that v4 targets supported .NET releases.

BREAKING CHANGE: v4 no longer supports net6.0 or netstandard2.0. Consumers must target net8.0 or later.

Refs #334
@thomhurst
thomhurst force-pushed the issue-334-net8-minimum branch from 3d0c977 to 3465c63 Compare July 21, 2026 18:30
@thomhurst
thomhurst merged commit adde5f0 into main Jul 21, 2026
5 checks passed
@thomhurst
thomhurst deleted the issue-334-net8-minimum branch July 21, 2026 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

v4: Retarget to net8.0 minimum (net8.0;net9.0;net10.0), drop netstandard2.0

1 participant